package com.kakarote.admin.entity.PO;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @创建人 xuepengfei
 * @创建时间 2023/5/9
 * @描述
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@TableName("wk_admin_fly_order_plan")
@ApiModel(value = "AdminFlyOrderPlan对象", description = "飞书订单方案")
public class AdminFlyOrderPlan implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("主键ID")
    @JsonSerialize(using = ToStringSerializer.class)
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;

    @ApiModelProperty("方案名称")
    private String planName;

    @ApiModelProperty("价格方案ID，唯一标识")
    private String pricePlanId;

    @ApiModelProperty("用户购买方案类型 trial -试用；permanent-免费；per_year-企业年付费；per_month-企业月付费；per_seat_per_year-按人按年付费；per_seat_per_month-按人按月付费；permanent_count-按次付费")
    private String pricePlanType;

    @ApiModelProperty("人数是否限制 0 否 1是")
    private Integer seatsOf;

    @ApiModelProperty("实际购买人数（对标上price_plan_type） 仅对price_plan_type为per_seat_per_year和per_seat_per_month 有效")
    private Integer seats;

    @ApiModelProperty("按企业付费 每年 支付价格")
    private BigDecimal payPriceYear;

    @ApiModelProperty("按企业付费 每月 支付价格")
    private BigDecimal payPriceMonth;

    @ApiModelProperty("试用天数")
    private Integer onTrialDay;

    @ApiModelProperty("自定义最大人数")
    private Integer seatsMax;
}
